package net.suplementos.web.action;

import java.util.Date;
import java.util.List;

import net.suplementos.negocio.GerencialDelegate;
import net.suplementos.pojo.Estoque;
import net.suplementos.pojo.Produto;
import net.suplementos.servico.GerencialServico;
import net.suplementos.web.LocalConstantes;

import org.apache.struts2.convention.annotation.Action;
import org.apache.struts2.convention.annotation.InterceptorRef;
import org.apache.struts2.convention.annotation.InterceptorRefs;
import org.apache.struts2.convention.annotation.Namespace;
import org.apache.struts2.convention.annotation.Result;

import com.opensymphony.xwork2.ActionSupport;

@Namespace("/notificarProdutos")
@InterceptorRefs({
	@InterceptorRef(value = "store", params = {"operationMode", "AUTOMATIC"}),
	@InterceptorRef("defaultStack")
})
public class NotificarProdutosAction extends ActionSupport {
	
	private GerencialServico gerencialServico = GerencialDelegate.getInstance();
	private List<Produto> listaProdutos;
	private List<Produto> listaEstoque;
	
	@Action(value = "notificacoes", results = {
		@Result(name = SUCCESS, location = LocalConstantes.LOCAL_JSP_GERENCIAL_NOTIFICAR_PRODUTO + "/notificacoes.jsp") 
	})
	public String notificacoes() throws Exception {
		if (gerencialServico.existeNotificacoesProdutosVencendo()){
			setListaProdutos(gerencialServico.notificacoesProdutosVencendo());
		}
		return SUCCESS;
	}

	@Action(value = "verificarEstoque", results = {
		@Result(name = SUCCESS, location = LocalConstantes.LOCAL_JSP_GERENCIAL_NOTIFICAR_PRODUTO + "/verificarEstoque.jsp") 
	})
	public String verificarEstoque() throws Exception {
		if (gerencialServico.existeNotificacoesProdutosPoucoEstoque()){
			setListaEstoque(gerencialServico.notificacoesProdutosPoucoEstoque());
		}
		return SUCCESS;
	}

	public List<Produto> getListaProdutos() {
		return listaProdutos;
	}

	public void setListaProdutos(List<Produto> listaProdutos) {
		this.listaProdutos = listaProdutos;
	}

	public List<Produto> getListaEstoque() {
		return listaEstoque;
	}

	public void setListaEstoque(List<Produto> listaEstoque) {
		this.listaEstoque = listaEstoque;
	}
}